package com.svms.save.utils;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 
* <p>Title: 执行计时器</p>  
* <p>Description: </p>  
* @author xuyang
* @date 2019年6月27日
 */
public class ExecuteTimer {
	/**
	 * 执行开始时间
	 */
	private long startTime;
	/**
	 * 执行开始时间
	 */
	private Date startDate;
	/**
	 * 执行结束时间
	 */
	private long endTime;
	/**
	 * 执行结束时间
	 */
	private Date endDate;
	
	public ExecuteTimer() {
		// TODO Auto-generated constructor stub
		startTime = System.currentTimeMillis();
		startDate = new Date(startTime);
	}
	/**
	 * <p>Title: 执行结束并获取耗时（毫秒）</p>  
	 * <p>Description: </p>
	 * @author xuyang
	 * @date 2019年6月27日
	 * @return
	 */
	public long endExecuteMillis() {
		endTime = System.currentTimeMillis();
		endDate = new Date(endTime);
		long expend = endTime - startTime;
		return expend;
	}
	/**
	 * <p>Title: 执行结束并获取耗时（秒）</p>  
	 * <p>Description: </p>
	 * @author xuyang
	 * @date 2019年6月27日
	 * @return
	 */
	public double endExecuteSecond() {
		double expend = this.endExecuteMillis();
		double res = expend / 1000;
		BigDecimal b = new BigDecimal(res);
		double f1 = b.setScale(2, BigDecimal.ROUND_DOWN).doubleValue();
		return f1;
	}
	/**
	 * 执行开始时间
	 */
	public long getStartTime() {
		return startTime;
	}
	/**
	 * 执行开始时间
	 */
	public void setStartTime(long startTime) {
		this.startTime = startTime;
	}
	/**
	 * 执行开始时间
	 */
	public Date getStartDate() {
		return startDate;
	}
	/**
	 * 执行开始时间
	 */
	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}
	/**
	 * 执行结束时间
	 */
	public long getEndTime() {
		return endTime;
	}
	/**
	 * 执行结束时间
	 */
	public void setEndTime(long endTime) {
		this.endTime = endTime;
	}
	/**
	 * 执行结束时间
	 */
	public Date getEndDate() {
		return endDate;
	}
	/**
	 * 执行结束时间
	 */
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
}
